# 加载界面脚本
# 该脚本负责处理加载界面的逻辑，包括显示加载进度条
# 通过连接AutoLoad中的加载进度更新信号来实时更新进度条
#
# 继承自Control类，可以访问Control及其父类的所有属性和方法:
# Control的重要属性:
# - anchor_right, anchor_bottom: 锚点设置，用于响应式布局
# - offset_left, offset_right, offset_top, offset_bottom: 偏移设置
# - size: 控件大小
# - position: 控件位置
# - visible: 可见性
# - modulate: 颜色调制
#
# Control的重要方法:
# - accept_event(): 处理输入事件
# - get_minimum_size(): 获取控件最小尺寸
# - set_anchor(): 设置锚点
# - etc.
#
# Control的重要信号:
# - gui_input: 当控件接收到GUI输入时触发
# - minimum_size_changed: 当控件最小尺寸改变时触发
# - resized: 当控件尺寸改变时触发

extends Control

# 导出的进度条控件引用
# 允许在编辑器中指定TextureProgressBar控件
@export var loadingBar: TextureProgressBar

# Called when the node enters the scene tree for the first time.
# 当节点首次进入场景树时调用
# 用于连接AutoLoad中的加载进度更新信号
func _ready() -> void:
	# 连接AutoLoad中的Loading_Progress_Updater信号到本地的_on_progress_updated方法
	# 当加载进度更新时，会调用_on_progress_updated方法更新进度条
	AutoLoad.Loading_Progress_Updater.connect(_on_progress_updated)

# 当加载进度更新时调用
# 该方法通过信号连接到AutoLoad.Loading_Progress_Updater信号
# 参数:
# - percentage: 加载进度百分比（0-100）
func _on_progress_updated(percentage: float) -> void:
	# 更新进度条的值
	# 将传入的百分比值设置为进度条的当前值
	loadingBar.value = percentage